package com.huawei.hwclouds.lubanops.demo.common.biz;

import java.util.List;

/**
 * Description:
 *
 * @author f00384042
 * @date 13-6-5
 */
public interface Mapper<D, P> {

    /**
     * 数据库表插入一行记录
     *
     * @param theDO
     * @return
     */
    void create(D theDO);

    /**
     * 更新一行记录 <br>
     *
     * @param d
     * @return
     * @author y00438022
     * @since 2020年3月3日
     */
    Integer update(D d);

    /**
     * @param param
     * @return
     */
    List<D> pageQuery(P param);

    /**
     * @param param
     * @return
     */
    Integer count(P param);

    /**
     * 根据主键查找
     *
     * @param id
     * @return
     */
    D retrieveById(Object id);

    /**
     * 根据主键删除
     *
     * @param id
     * @return
     */
    int delete(Object id);

    /**
     * 根据主键删除
     *
     * @return
     */
    List<D> findAll();
}
